Tunneling is commonly used in IP communication and involves routing a data packet to the appropriate network node through an intermediate address (e.g., an Internet IP address). Typically, a data packet with network routing is encapsulated by IP address information. Encapsulation involves adding an outer IP header to the original IP header fields. The outer IP header contains a source and destination IP address, while the inner IP header source and destination addresses identify the original source and destination addresses, which remain unchanged. The inclusion of the output IP header alters the original IP routing by delivering the data packet to an intermediate destination node, where it is decapsulated or de-tunneled, thereby yielding the original data packet and routing. The packet is then delivered according to the destination address found in the original IP header address fields.
During transmission, the encapsulated transmission packets may be transmitted through multiple devices. There may be limitations on the size of the packets that can be transmitted. For example, in a high-speed IP network, the sizes of IP packets are limited by the MTU (Minimum Transmission Unit) of the lower layer network. Because the size of the encapsulated transmission packets is not fixed, the size may exceed these packet size limitations (e.g., exceed the MTU of the network).
In a distributed network environment, forwarding IP packets through tunnels with additional control information among all of the devices is commonly done. However, in a high-speed network, the overhead introduced by inserting additional control information can be significant. One of the major sources of the large overhead is the IP packet fragmentation. IP packet fragmentation may be used to comply with the maximum size requirements for the packets. That is, in order to comply with these maximum size requirements, the various nodes on the transmission path may fragment the encapsulated transmission packets into separate smaller sized packets that can be transmitted between nodes on the transmission path in compliance with the maximum packet size limitations. In fact, adding extra control information on top of an IP packets will likely cause the IP packets to be fragmented by lower layer network
Fragmentation performed by nodes in the transmission path often requires that further encapsulation headers be added to the fragmented packets, which introduces additional overhead and consumes additional system resources to assemble and transport such fragmented packet transmissions. Thus, fragmentation performed by the internal nodes in the transmission path can significantly increase the overhead and use of system resources.